#!/usr/bin/env python
#coding=utf-8
import os
import logging

import Logger_Class


logger = Logger_Class.Logger_test(logname='D:/log2.txt', loglevel='1', logger="VisiteFunction").getlog()

def visit(path,keyword,systemName,charset):
    returnMessage=''
    try:
        import urllib.request
        # 访问核心结算系统的地址看是否能够解析并返回解析后的代码
        # 如果返回的网页代码中含有对应的关键字，则说明系统能够提供正常的 访问
        logger.info('准备访问地址'+path+'，等待解析。。。。。。')
        logger.info('解析关键字为:'+keyword)
        with urllib.request.urlopen(path) as response:
            logger.info('准备获取解析信息')
            html = response.read()
            html = str(html, charset)
            logger.debug('解析的返回结果为：')
            #打印经过替换的str对象，如果不进行替换打印会抛出异常
            logger.debug(html.replace(u'\xa9', u''))
            #logger.debug(html)
            print(html)
            if keyword in html:
                print(systemName,'解析访问正常')
                logger.info(systemName+'解析：访问正常')
                returnMessage=systemName+'解析：访问正常'
            else:
                print(systemName,'解析：访问异常，无法正常访问到地址'+path)
                logger.info(systemName + '解析;访问异常，无法正常访问到地址'+path)
                returnMessage=systemName,'解析；访问异常，无法正常访问到地址'+path
    except BaseException as err:
        logger.info(systemName + '解析：访问异常，无法正常访问到地址' + path)
        logger.debug('程序出现异常，请联系管理员')
        logger.debug(err)
        returnMessage=systemName + '解析：访问异常，无法正常访问到地址' + path+'\n'
        returnMessage+='程序出现异常，请联系管理员。异常信息：'+err.read()
    return returnMessage

def analysisVPN():
    returnMessage = ''
    try:
        #采用命令的方式测试VPN服务器的解析是否正常
        logger.debug('准备用nslokup方式对VPN进行解析测试')
        output = os.popen('nslookup vpn.chinalcof.com')
        logger.debug('准备读取解析的返回信息。。。。。。')
       # print(output.read())
        text=output.read()
        logger.debug('读取的解析信息如下：')
        logger.debug(text)
        logger.debug('读取解析结果结束。。。。。。')
        strs=text.strip().split('\n')
        print(strs[-1])
        print(strs[-2])
        name=strs[-2]
        address=strs[-1]
        logger.debug('解析的名称信息为：'+name)
        logger.debug('解析的地址信息为：'+address)
        print(name.split())
        if name.split()[1]=='vpn.chinalcof.com':
            print('VPN解析成功')
            logger.debug('VPN服务器解析成功 ！')
            returnMessage='VPN服务器解析成功 ！\n'
        if address.split()[1]=='114.247.38.69':
            logger.debug('当给网路解析链路为：联通网络')
            returnMessage += '当前网络解析链路为：联通网络'
        else:
            logger.debug('当前网络解析链路为：电信网络')
            returnMessage +='当前网络解析链路为：电信网络'
        print(strs)
       # return text
    except BaseException as err:
        logger.debug('VPN服务器解析出现异常，请联系管理员')
        logger.debug(err)
        returnMessage='VPN服务器解析出现异常，请联系管理员!!'

    return returnMessage